/* Nama File : cell.cpp                            */
/* Deskripsi : Implementasi dari class Cell        */
/* Anggota Kelompok : Dekha Anggareska 13510050		*/
/*                    Fadhil Muhtadin 13510070		*/
/*                    Muhammad Iqbal 13510064		*/
/*                    Yulius Nainggolan 13510090	*/

#include "cell.h"
#include <iostream>
using namespace std;

    /* Empat Sekawan */
	Cell::Cell() {
    /* Konstruktor Cell */
    /* I.S. Cell belum tercipta */
    /* F.S. Cell tercipta */
		// cout << "ctor Cell" << endl;
	};

	Cell::Cell(int xi, int yi, char ci) : Point(xi, yi) {
    /* Konstruktor Cell dengan parameter */
    /* I.S. Cell belum tercipta */
    /* F.S. Cell tercipta */
		setChar(ci);
		// cout << "ctor Cell" << endl;
	};

	Cell::~Cell(){
    /* Destruktor Cell */
	/* I.S. Cell terdefinisi */
    /* F.S. Cell dimusnahkan */
		// cout << "dtor Cell" << endl;
	};

	Cell::Cell (const Cell& CS) : Point(CS.getX(), CS.getY()) {
    /* CCtor Cell */
    /* I.S. Cell terdefinisi */
    /* F.S. Cell baru tercipta sebagai kopi Cell sebelumnya */
		setChar(CS.getChar());
		// cout << "cctor Cell" << endl;
	};

	Cell& Cell::operator=(const Cell& CS){
    /* Melakukan assignment terhadap Cell */
    /* I.S. Cell terdefinisi */
    /* F.S. Cell baru diassign dengan Cell sebelumnya */
		setX(CS.getX());
		setY(CS.getY());
		setChar(CS.getChar());
		// cout << "assignment Cell" << endl;
		return *this;
	};

	//getter setter
	char Cell::getChar() const{
    /* Mendapatkan char dari Cell */
		return cc;
	};

	void Cell::setChar(char ci){
    /* Melakukan Set terhadap char dari Cell */
	/* I.S. Cell terkonstruksi */
    /* F.S. Data char bernilai ci */
		cc = ci;
	};
	
	char Cell::getBlank() const {
	/* Mengembalikan karakter blank yang didefinisikan dalam program */
		return blank;
	};
